/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package jp.co.irep.juten.entity;

import java.io.Serializable;
import java.util.Date;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import javax.xml.bind.annotation.XmlRootElement;

/**
 *
 * @author toan_nguyen
 */
@Entity
@Table(name = "claim_master_tbl")
@XmlRootElement
@NamedQueries({
    @NamedQuery(name = "ClaimMasterTbl.findAll", query = "SELECT c FROM ClaimMasterTbl c"),
    @NamedQuery(name = "ClaimMasterTbl.findByManageNo", query = "SELECT c FROM ClaimMasterTbl c WHERE c.manageNo = :manageNo"),
    @NamedQuery(name = "ClaimMasterTbl.findByCatalogId", query = "SELECT c FROM ClaimMasterTbl c WHERE c.catalogId = :catalogId"),
    @NamedQuery(name = "ClaimMasterTbl.findByUserNo", query = "SELECT c FROM ClaimMasterTbl c WHERE c.userNo = :userNo"),
    @NamedQuery(name = "ClaimMasterTbl.findByReceiptDate", query = "SELECT c FROM ClaimMasterTbl c WHERE c.receiptDate = :receiptDate"),
    @NamedQuery(name = "ClaimMasterTbl.findByDeliveryDate", query = "SELECT c FROM ClaimMasterTbl c WHERE c.deliveryDate = :deliveryDate"),
    @NamedQuery(name = "ClaimMasterTbl.findByContactDate", query = "SELECT c FROM ClaimMasterTbl c WHERE c.contactDate = :contactDate"),
    @NamedQuery(name = "ClaimMasterTbl.findByFormCategory", query = "SELECT c FROM ClaimMasterTbl c WHERE c.formCategory = :formCategory"),
    @NamedQuery(name = "ClaimMasterTbl.findByClassCategory", query = "SELECT c FROM ClaimMasterTbl c WHERE c.classCategory = :classCategory"),
    @NamedQuery(name = "ClaimMasterTbl.findByStatus", query = "SELECT c FROM ClaimMasterTbl c WHERE c.status = :status"),
    @NamedQuery(name = "ClaimMasterTbl.findByComment", query = "SELECT c FROM ClaimMasterTbl c WHERE c.comment = :comment"),
    @NamedQuery(name = "ClaimMasterTbl.findByDelivaryDate", query = "SELECT c FROM ClaimMasterTbl c WHERE c.delivaryDate = :delivaryDate"),
    @NamedQuery(name = "ClaimMasterTbl.findByParam1", query = "SELECT c FROM ClaimMasterTbl c WHERE c.param1 = :param1"),
    @NamedQuery(name = "ClaimMasterTbl.findByParam2", query = "SELECT c FROM ClaimMasterTbl c WHERE c.param2 = :param2"),
    @NamedQuery(name = "ClaimMasterTbl.findByParam3", query = "SELECT c FROM ClaimMasterTbl c WHERE c.param3 = :param3"),
    @NamedQuery(name = "ClaimMasterTbl.findByParam4", query = "SELECT c FROM ClaimMasterTbl c WHERE c.param4 = :param4"),
    @NamedQuery(name = "ClaimMasterTbl.findByParam5", query = "SELECT c FROM ClaimMasterTbl c WHERE c.param5 = :param5"),
    @NamedQuery(name = "ClaimMasterTbl.findByIp", query = "SELECT c FROM ClaimMasterTbl c WHERE c.ip = :ip"),
    @NamedQuery(name = "ClaimMasterTbl.findByDomain", query = "SELECT c FROM ClaimMasterTbl c WHERE c.domain = :domain"),
    @NamedQuery(name = "ClaimMasterTbl.findByAgent", query = "SELECT c FROM ClaimMasterTbl c WHERE c.agent = :agent"),
    @NamedQuery(name = "ClaimMasterTbl.findById", query = "SELECT c FROM ClaimMasterTbl c WHERE c.id = :id")})
public class ClaimMasterTbl implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Basic(optional = false)
    @Column(name = "manage_no")
    private Integer manageNo;
    @Basic(optional = false)
    @NotNull
    @Column(name = "catalog_id")
    private int catalogId;
    @Basic(optional = false)
    @NotNull
    @Column(name = "user_no")
    private int userNo;
    @Basic(optional = false)
    @NotNull
    @Column(name = "receipt_date")
    @Temporal(TemporalType.TIMESTAMP)
    private Date receiptDate;
    @Column(name = "delivery_date")
    @Temporal(TemporalType.TIMESTAMP)
    private Date deliveryDate;
    @Column(name = "contact_date")
    @Temporal(TemporalType.TIMESTAMP)
    private Date contactDate;
    @Basic(optional = false)
    @NotNull
    @Column(name = "form_category")
    private short formCategory;
    @Size(max = 64)
    @Column(name = "class_category")
    private String classCategory;
    @Basic(optional = false)
    @NotNull
    @Column(name = "status")
    private short status;
    @Size(max = 2147483647)
    @Column(name = "comment")
    private String comment;
    @Size(max = 16)
    @Column(name = "delivary_date")
    private String delivaryDate;
    @Column(name = "param1")
    private Short param1;
    @Column(name = "param2")
    private Short param2;
    @Column(name = "param3")
    private Short param3;
    @Column(name = "param4")
    private Short param4;
    @Column(name = "param5")
    private Short param5;
    @Size(max = 64)
    @Column(name = "ip")
    private String ip;
    @Size(max = 255)
    @Column(name = "domain")
    private String domain;
    @Size(max = 255)
    @Column(name = "agent")
    private String agent;
    @Size(max = 32)
    @Column(name = "id")
    private String id;

    public ClaimMasterTbl() {
    }

    public ClaimMasterTbl(Integer manageNo) {
        this.manageNo = manageNo;
    }

    public ClaimMasterTbl(Integer manageNo, int catalogId, int userNo, Date receiptDate, short formCategory, short status) {
        this.manageNo = manageNo;
        this.catalogId = catalogId;
        this.userNo = userNo;
        this.receiptDate = receiptDate;
        this.formCategory = formCategory;
        this.status = status;
    }

    public Integer getManageNo() {
        return manageNo;
    }

    public void setManageNo(Integer manageNo) {
        this.manageNo = manageNo;
    }

    public int getCatalogId() {
        return catalogId;
    }

    public void setCatalogId(int catalogId) {
        this.catalogId = catalogId;
    }

    public int getUserNo() {
        return userNo;
    }

    public void setUserNo(int userNo) {
        this.userNo = userNo;
    }

    public Date getReceiptDate() {
        return receiptDate;
    }

    public void setReceiptDate(Date receiptDate) {
        this.receiptDate = receiptDate;
    }

    public Date getDeliveryDate() {
        return deliveryDate;
    }

    public void setDeliveryDate(Date deliveryDate) {
        this.deliveryDate = deliveryDate;
    }

    public Date getContactDate() {
        return contactDate;
    }

    public void setContactDate(Date contactDate) {
        this.contactDate = contactDate;
    }

    public short getFormCategory() {
        return formCategory;
    }

    public void setFormCategory(short formCategory) {
        this.formCategory = formCategory;
    }

    public String getClassCategory() {
        return classCategory;
    }

    public void setClassCategory(String classCategory) {
        this.classCategory = classCategory;
    }

    public short getStatus() {
        return status;
    }

    public void setStatus(short status) {
        this.status = status;
    }

    public String getComment() {
        return comment;
    }

    public void setComment(String comment) {
        this.comment = comment;
    }

    public String getDelivaryDate() {
        return delivaryDate;
    }

    public void setDelivaryDate(String delivaryDate) {
        this.delivaryDate = delivaryDate;
    }

    public Short getParam1() {
        return param1;
    }

    public void setParam1(Short param1) {
        this.param1 = param1;
    }

    public Short getParam2() {
        return param2;
    }

    public void setParam2(Short param2) {
        this.param2 = param2;
    }

    public Short getParam3() {
        return param3;
    }

    public void setParam3(Short param3) {
        this.param3 = param3;
    }

    public Short getParam4() {
        return param4;
    }

    public void setParam4(Short param4) {
        this.param4 = param4;
    }

    public Short getParam5() {
        return param5;
    }

    public void setParam5(Short param5) {
        this.param5 = param5;
    }

    public String getIp() {
        return ip;
    }

    public void setIp(String ip) {
        this.ip = ip;
    }

    public String getDomain() {
        return domain;
    }

    public void setDomain(String domain) {
        this.domain = domain;
    }

    public String getAgent() {
        return agent;
    }

    public void setAgent(String agent) {
        this.agent = agent;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (manageNo != null ? manageNo.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof ClaimMasterTbl)) {
            return false;
        }
        ClaimMasterTbl other = (ClaimMasterTbl) object;
        if ((this.manageNo == null && other.manageNo != null) || (this.manageNo != null && !this.manageNo.equals(other.manageNo))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "jp.co.irep.tech.juten.jpa.entity.ClaimMasterTbl[ manageNo=" + manageNo + " ]";
    }
    
}
